package com.emperor.productlog.logic;

import java.util.Date;

import com.emperor.category.logic.Category;
import com.emperor.core.logic.BizModel;
import com.emperor.product.logic.Product;
import com.emperor.receipt.logic.Receipt;
import com.emperor.transaction.logic.Transaction;

public interface ProductLog extends BizModel {
	
	public final static String FLD_ID = "id";
	public final static String FLD_ACTIONNAME = "actionname";
	public final static String FLD_PRODUCT = "product";
	public final static String FLD_TRANSACTION = "transaction";
	public final static String FLD_CATEGORY = "category";
	public final static String FLD_NAME = "name";
	public final static String FLD_DESC = "desc";
	public final static String FLD_SKU = "sku";
	public final static String FLD_QUANTITY = "quantity";
	public final static String FLD_XQUANTITY = "quantity";
	public final static String FLD_WEIGHT = "weight";
	public final static String FLD_WEIGHTUOM = "weightuom";
	public final static String FLD_PRICE = "price";
	public final static String FLD_DISCOUNT = "discount";
	public final static String FLD_VERSION = "version";
	public final static String FLD_STATUS = "status";
	public final static String FLD_INVOICENO = "invoiceno";
	public final static String FLD_COLOR = "color";
	public final static String FLD_COST = "cost";
	
	public static final String ACT_STOCK_IN = "Stock In";
	public static final String ACT_STOCK_OUT = "Stock Out";
	
	public static final String ACT_SALES = "Sales";
	public static final String ACT_NEW = "New Product";
	public static final String ACT_UPDATE = "Update Product";
	public static final String ACT_DELETE = "Delete Product";
	public static final String ACT_SPOIL = "Spoil Product";
	public static final String ACT_CHANGE = "Change Product";
	
	public static final String ACT_UPD_CATEGORY = "Update Category";
	public static final String ACT_UPD_NAME = "Update Name";
	public static final String ACT_UPD_DESC = "Update Description";
	public static final String ACT_UPD_SKU = "Update SKU";
	public static final String ACT_UPD_QTY = "Update Quantity";
	public static final String ACT_UPD_PRICE = "Update Price";
	public static final String ACT_UPD_DISCOUNT = "Update Discount";
	public static final String ACT_UPD_STATUS = "Update Status";
	
	public Long getId();

	public void setId(Object id);

	public String getActionname();

	public void setActionname(Object actionname);

	public Product getProduct();

	public void setProduct(Object product);

	public Transaction getTransaction();

	public void setTransaction(Object transaction);

	public Category getCategory();

	public void setCategory(Object category);

	public String getName();

	public void setName(Object name);

	public String getDesc();

	public void setDesc(Object desc);

	public String getSku();

	public void setSku(Object sku);

	public Double getQuantity();

	public void setQuantity(Object quantity);
	
	public Double getXquantity();

	public void setXquantity(Object xquantity);
	
	public Double getWeight();
	
	public void setWeight(Object weight);
	
	public String getWeightuom();
	
	public void setWeightuom(Object weightuom);

	public Double getPrice();

	public void setPrice(Object price);

	public Double getDiscount();

	public void setDiscount(Object discount);

	public String getStatus();

	public void setStatus(String status);

	public Long getCrtby();

	public void setCrtby(Object crtby);

	public Date getCrtdate();

	public void setCrtdate(Object crtdate);

	public Long getUpdby();

	public void setUpdby(Object updby);

	public Date getUpddate();

	public void setUpddate(Object upddate);
	
	public void copyProduct(Product product);
	
	public Integer getVersion();

	public void setVersion(Object version);
	
	public String getInvoiceno();
	
	public void setInvoiceno(Object invoiceno);
	
	public String getColor();
	
	public void setColor(Object color);
	
	public Double getCost();
	
	public void setCost(Object cost);
	
}
